package com.ruoyi.system.domain;

import java.math.BigDecimal;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 网关对象 iot_gateway
 * 公司名称：未可自动化 <br/>
 * 作者：weikeauto <br/>
 */
public class IotGateway extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    private Long id;

    /**
     * 网关名称
     */
    @Excel(name = "网关名称")
    private String gatewayName;

    /**
     * 所属组织id
     */
    @Excel(name = "所属组织id")
    private Long deptId;

    /**
     * sn编码
     */
    @Excel(name = "sn编码")
    private String sn;

    /**
     * MAC/IMEI/NID码
     */
    @Excel(name = "MAC/IMEI/NID码")
    private String imei;

    /**
     * 设备状态：
     * 0->在线
     * 1->离线
     */
    @Excel(name = "设备状态：0->在线1->离线")
    private Long gatewayStatus;

    /**
     * 网关型号
     */
    @Excel(name = "网关型号")
    private String gatewayModel;

    /**
     * 固件版本
     */
    @Excel(name = "固件版本")
    private String firmwareVersion;

    /**
     * iccid
     */
    @Excel(name = "iccid")
    private String iccid;

    /**
     * addr
     */
    @Excel(name = "addr")
    private String addr;

    /**
     * 定位类型：
     * 0->手动定位
     * 1->自动定位
     */
    @Excel(name = "定位类型：0->手动定位 1->自动定位")
    private Long locationType;

    /**
     * 经度
     */
    @Excel(name = "经度")
    private BigDecimal lng;

    /**
     * 纬度
     */
    @Excel(name = "纬度")
    private BigDecimal lat;

    private String heartBeatStr;

    private Integer gatewayType;

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setGatewayName(String gatewayName) {
        this.gatewayName = gatewayName;
    }

    public String getGatewayName() {
        return gatewayName;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setSn(String sn) {
        this.sn = sn;
    }

    public String getSn() {
        return sn;
    }

    public void setImei(String imei) {
        this.imei = imei;
    }

    public String getImei() {
        return imei;
    }

    public void setGatewayStatus(Long gatewayStatus) {
        this.gatewayStatus = gatewayStatus;
    }

    public Long getGatewayStatus() {
        return gatewayStatus;
    }

    public void setGatewayModel(String gatewayModel) {
        this.gatewayModel = gatewayModel;
    }

    public String getGatewayModel() {
        return gatewayModel;
    }

    public void setFirmwareVersion(String firmwareVersion) {
        this.firmwareVersion = firmwareVersion;
    }

    public String getFirmwareVersion() {
        return firmwareVersion;
    }

    public void setIccid(String iccid) {
        this.iccid = iccid;
    }

    public String getIccid() {
        return iccid;
    }

    public void setLocationType(Long locationType) {
        this.locationType = locationType;
    }

    public Long getLocationType() {
        return locationType;
    }

    public void setLng(BigDecimal lng) {
        this.lng = lng;
    }

    public BigDecimal getLng() {
        return lng;
    }

    public void setLat(BigDecimal lat) {
        this.lat = lat;
    }

    public BigDecimal getLat() {
        return lat;
    }

    public String getAddr() {
        return addr;
    }

    public void setAddr(String addr) {
        this.addr = addr;
    }

    public String getHeartBeatStr() {
        return heartBeatStr;
    }

    public void setHeartBeatStr(String heartBeatStr) {
        this.heartBeatStr = heartBeatStr;
    }

    public Integer getGatewayType() {
        return gatewayType;
    }

    public void setGatewayType(Integer gatewayType) {
        this.gatewayType = gatewayType;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("gatewayName", getGatewayName())
                .append("deptId", getDeptId())
                .append("sn", getSn())
                .append("imei", getImei())
                .append("gatewayStatus", getGatewayStatus())
                .append("gatewayModel", getGatewayModel())
                .append("firmwareVersion", getFirmwareVersion())
                .append("iccid", getIccid())
                .append("location Type", getLocationType())
                .append("lng", getLng())
                .append("lat", getLat())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
